/*******************************************************************/
/* @ All Rights Reserved Copyright (C) 2014 broada,Co.,Ltd.        */
/*                                                                 */
/*  NAME      = __weblogic_get_ejbname.c                           */
/*  NOTE      =                                                    */
/*  DATE      = 2016/04/11 by jikw                                 */
/*******************************************************************/
#include <stdio.h>
#include <stdlib.h>
#include <CUnit/Basic.h>
#include <CUnit/CUnit.h>

#include <corba/corba_comm.h>
#include <corba/corba_core.h>
#include "frcomm.h"
#include "frmem.h"
#include "conntrack.h"
#include "frct_comm.h"
#include "frbyte_buffer.h"
#include "frlist.h"
#include "frreport_comm.h"
#include "apmtest_cunit.h"
#include "apmtest_comm.h"

#include "../../../src/module/corba/config.h"

static int __suite_init(void)
{

    return 0;
}

static int __suite_cleanup(void)
{

    return 0;
}

extern int __weblogic_get_ejbname(corba_session *p_st_session_private
                                   , Frbyte_Packet *p_st_data);

extern L7session_corba_private* __corba_private_create(void);

void case1(void)
{
    Frbyte_Packet *p_st_data = NULL;
    corba_session *p_st_session_private = NULL;
    int i_ret = 0;
    L7session_corba_private *p_st_private = NULL;

    p_st_private = __corba_private_create();
    p_st_private->i_endianess = 1;

    p_st_session_private = (corba_session *)frmalloc(sizeof(corba_session));
    memset(p_st_session_private, 0x00, sizeof(corba_session));
    p_st_session_private->p_st_private = p_st_private;

    p_st_data = bytebuff_creat();
    bytebuff_add(p_st_data, (char *)"\x00\x00\x00\x1d\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7f\xff\xff\x02\x00\x00\x00\x3e\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x69\x69\x6f\x70\x2e\x50\x72\x6f\x78\x79\x44\x65\x73\x63\x3a\x37\x33\x43\x44\x39\x41\x34\x35\x43\x42\x41\x35\x32\x39\x33\x38\x3a\x37\x34\x32\x36\x31\x38\x30\x31\x42\x39\x33\x31\x45\x46\x30\x30\x00\x00\x00\x7f\xff\xff\x0a\x00\x00\x00\x5e\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x63\x6f\x6e\x74\x61\x69\x6e\x65\x72\x2e\x69\x6e\x74\x65\x72\x6e\x61\x6c\x2e\x52\x65\x6d\x6f\x74\x65\x42\x75\x73\x69\x6e\x65\x73\x73\x49\x6e\x74\x66\x50\x72\x6f\x78\x79\x3a\x39\x31\x39\x45\x37\x32\x45\x45\x41\x34\x41\x45\x42\x34\x30\x45\x3a\x33\x39\x32\x38\x30\x42\x46\x41\x36\x44\x46\x45\x44\x41\x43\x30\x00\x00\x00\x00\x00\x00\x03\x01\x00\x00\x00\x7f\xff\xff\x0a\x00\x00\x00\x23\x49\x44\x4c\x3a\x6f\x6d\x67\x2e\x6f\x72\x67\x2f\x43\x4f\x52\x42\x41\x2f\x57\x53\x74\x72\x69\x6e\x67\x56\x61\x6c\x75\x65\x3a\x31\x2e\x30\x00\x00\x00\x00\x00\x0e\x00\x00\x00\x0a\x63\x6f\x6d\x70\x61\x6e\x79\x5f\x31\x40\x00\x00\xff\xff\xff\xfe\x00\x00\x00\x01\x00\x00\x00\x00\x7f\xff\xff\x0a\xff\xff\xff\xff\xff\xff\xff\xb0\x00\x00\x00\x2f\x00\x00\x00\x2b\x63\x6f\x6d\x2e\x65\x61\x72\x74\x68\x2e\x43\x6f\x6d\x70\x61\x6e\x79\x5f\x35\x38\x77\x39\x37\x6b\x5f\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x52\x49\x6e\x74\x66\x00\xff\xff\xff\xfe\x00\x00\x00\x01\x00\x00\x00\x00\x7f\xff\xff\x0a\xff\xff\xff\xff\xff\xff\xff\x64\x00\x00\x00\x1b\x00\x00\x00\x17\x63\x6f\x6d\x2e\x65\x61\x72\x74\x68\x2e\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x00\xff\xff\xff\xfe\x00\x00\x05\x88\x01\x00\x00\x00\x00\x00\x00\x35\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x05\x3c\x00\x01\x02\x00\x00\x00\x00\x0c\x31\x37\x32\x2e\x31\x36\x2e\x31\x2e\x37\x35\x00\x1b\xbd\x00\x00\x00\x00\x00\xde\x00\x42\x45\x41\x08\x01\x03\x00\x00\x00\x00\x0e\x44\x65\x66\x61\x75\x6c\x74\x53\x65\x72\x76\x65\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x00\x00\x00\x04\x35\x35\x38\x00\x00\x00\x00\x02\x42\x45\x41\x2c\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x22\xad\x4b\x88\xa4\x5e\x1f\x0b\x42\x45\x41\x0b\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x00\x4b\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x63\x6f\x6d\x2e\x65\x61\x72\x74\x68\x2e\x43\x6f\x6d\x70\x61\x6e\x79\x5f\x35\x38\x77\x39\x37\x6b\x5f\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x52\x49\x6e\x74\x66\x00\x00\x00\x00\x00\x06\x00\x00\x00\x01\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x01\x00\x20\x00\x00\x00\x03\x00\x01\x00\x20\x00\x01\x00\x01\x05\x01\x00\x01\x00\x01\x01\x00\x00\x00\x00\x03\x00\x01\x01\x00\x00\x01\x01\x09\x05\x01\x00\x01\x00\x00\x00\x19\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x3d\x68\x74\x74\x70\x3a\x2f\x2f\x31\x37\x32\x2e\x31\x36\x2e\x31\x2e\x37\x35\x3a\x37\x31\x30\x31\x2f\x62\x65\x61\x5f\x77\x6c\x73\x5f\x69\x6e\x74\x65\x72\x6e\x61\x6c\x2f\x63\x6c\x61\x73\x73\x65\x73\x2f\x63\x6f\x6d\x70\x61\x6e\x79\x5f\x31\x40\x2f\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x21\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x1f\x04\x01\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x0f\x77\x65\x62\x6c\x6f\x67\x69\x63\x44\x45\x46\x41\x55\x4c\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x1f\x04\x01\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x0f\x77\x65\x62\x6c\x6f\x67\x69\x63\x44\x45\x46\x41\x55\x4c\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x45\x41\x03\x00\x00\x02\xe8\x00\x00\x00\x00\x00\x00\x00\x0c\x72\x6f\x75\x6e\x64\x2d\x72\x6f\x62\x69\x6e\x00\x01\x00\x00\x00\x00\x00\x00\x2a\x63\x6f\x6d\x70\x61\x6e\x79\x5f\x31\x63\x6f\x6d\x70\x61\x6e\x79\x5f\x6a\x61\x72\x43\x6f\x6d\x70\x61\x6e\x79\x5f\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x35\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x02\x4c\x00\x01\x02\x00\x00\x00\x00\x0c\x31\x37\x32\x2e\x31\x36\x2e\x31\x2e\x37\x35\x00\x1b\xbd\x00\x00\x00\x00\x00\xde\x00\x42\x45\x41\x08\x01\x03\x00\x00\x00\x00\x0e\x44\x65\x66\x61\x75\x6c\x74\x53\x65\x72\x76\x65\x72\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x35\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x00\x00\x00\x00\x00\x00\x00\x04\x35\x35\x38\x00\x00\x00\x00\x02\x42\x45\x41\x2c\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x22\xad\x4b\x88\xa4\x5e\x1f\x0b\x42\x45\x41\x0b\x00\x00\x00\x56\x00\x00\x00\x00\x00\x00\x00\x4e\x01\x00\x4b\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x63\x6f\x6d\x2e\x65\x61\x72\x74\x68\x2e\x43\x6f\x6d\x70\x61\x6e\x79\x5f\x35\x38\x77\x39\x37\x6b\x5f\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x52\x49\x6e\x74\x66\x00\x00\x00\x00\x00\x05\x00\x00\x00\x01\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x01\x00\x20\x00\x00\x00\x03\x00\x01\x00\x20\x00\x01\x00\x01\x05\x01\x00\x01\x00\x01\x01\x00\x00\x00\x00\x03\x00\x01\x01\x00\x00\x01\x01\x09\x05\x01\x00\x01\x00\x00\x00\x19\x00\x00\x00\x45\x00\x00\x00\x00\x00\x00\x00\x3d\x68\x74\x74\x70\x3a\x2f\x2f\x31\x37\x32\x2e\x31\x36\x2e\x31\x2e\x37\x35\x3a\x37\x31\x30\x31\x2f\x62\x65\x61\x5f\x77\x6c\x73\x5f\x69\x6e\x74\x65\x72\x6e\x61\x6c\x2f\x63\x6c\x61\x73\x73\x65\x73\x2f\x63\x6f\x6d\x70\x61\x6e\x79\x5f\x31\x40\x2f\x00\x00\x00\x00\x00\x00\x00\x1f\x00\x00\x00\x04\x00\x00\x00\x03\x00\x00\x00\x20\x00\x00\x00\x04\x00\x00\x00\x01\x00\x00\x00\x21\x00\x00\x00\xa8\x00\x00\x00\x00\x00\x00\x00\x02\x00\x06\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x1f\x04\x01\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x0f\x77\x65\x62\x6c\x6f\x67\x69\x63\x44\x45\x46\x41\x55\x4c\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x22\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x1f\x04\x01\x00\x08\x06\x06\x67\x81\x02\x01\x01\x01\x00\x00\x00\x0f\x77\x65\x62\x6c\x6f\x67\x69\x63\x44\x45\x46\x41\x55\x4c\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xa4\x5e\x1f\x0b\xff\xff\xff\xff\x7f\xff\xff\x02\x00\x00\x00\x39\x52\x4d\x49\x3a\x5b\x4c\x6a\x61\x76\x61\x2e\x6c\x61\x6e\x67\x2e\x43\x6c\x61\x73\x73\x3b\x3a\x30\x37\x31\x44\x41\x38\x42\x45\x37\x46\x39\x37\x31\x31\x32\x38\x3a\x32\x43\x37\x45\x35\x35\x30\x33\x44\x39\x42\x46\x39\x35\x35\x33\x00\x00\x00\x00\x00\x00\x00\x02\x7f\xff\xff\x02\x00\x00\x00\x40\x52\x4d\x49\x3a\x6a\x61\x76\x61\x78\x2e\x72\x6d\x69\x2e\x43\x4f\x52\x42\x41\x2e\x43\x6c\x61\x73\x73\x44\x65\x73\x63\x3a\x32\x42\x41\x42\x44\x41\x30\x34\x35\x38\x37\x41\x44\x43\x43\x43\x3a\x43\x46\x42\x46\x30\x32\x43\x46\x35\x32\x39\x34\x31\x37\x36\x42\x00\x7f\xff\xff\x02\xff\xff\xff\xff\xff\xff\xf9\x14\x00\x00\x00\x00\x7f\xff\xff\x02\xff\xff\xff\xff\xff\xff\xf9\x04\x00\x00\x00\x2c\x52\x4d\x49\x3a\x63\x6f\x6d\x2e\x65\x61\x72\x74\x68\x2e\x43\x6f\x6d\x70\x61\x6e\x79\x52\x65\x6d\x6f\x74\x65\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x7f\xff\xff\x02\xff\xff\xff\xff\xff\xff\xff\x68\xff\xff\xff\xff\xff\xff\xff\xa4\x7f\xff\xff\x02\xff\xff\xff\xff\xff\xff\xf8\xb4\x00\x00\x00\x34\x52\x4d\x49\x3a\x77\x65\x62\x6c\x6f\x67\x69\x63\x2e\x65\x6a\x62\x2e\x73\x70\x69\x2e\x42\x75\x73\x69\x6e\x65\x73\x73\x4f\x62\x6a\x65\x63\x74\x3a\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30\x30", 2152);

    i_ret = __weblogic_get_ejbname(p_st_session_private, p_st_data);

    CU_ASSERT_EQUAL(i_ret, FR_SUCC);
    CU_ASSERT_EQUAL(p_st_session_private->is_wls_ejb, 1);
    CU_ASSERT_STRING_EQUAL(p_st_private->p_title, "company_1");
    CU_ASSERT_STRING_EQUAL(p_st_session_private->p_wls_ejbname, "company_1");

    bytebuff_free(&p_st_data);
    corba_session_destroy(p_st_session_private);

    return;
}

int add_suite__weblogic_get_ejbname(void)
{
    CU_pSuite pSuite = NULL;

    if ((pSuite = CU_add_suite(MODULE_NAME" __weblogic_get_ejbname()", __suite_init, __suite_cleanup)) == NULL)
        return FR_FAIL;

    CU_add_test(pSuite, "case1", case1);

    return FR_SUCC;

}


